﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using PetSoft.GUI;
using Business_Logic;
using Business_Entity;

namespace PetSoft.GUI
{
    public partial class GUILogin : Form
    {
    	int continuar;
    	string usuario, pwd;
    	public int salir;
    	
        public GUILogin()
        {
            InitializeComponent();
            this.olvidasteLBL.Visible = false;
            salir = 0;
            this.passwordTB.KeyPress+=new KeyPressEventHandler(Utils.NoCaracteresRarosTB);
            this.usuarioTB.KeyPress+=new KeyPressEventHandler(Utils.NoCaracteresRarosTB);
        }

        private void ingresarClick(object sender, EventArgs e)
        {
        	Boolean esValido = false;
            this.usuario = this.usuarioTB.Text;
            this.pwd = this.passwordTB.Text;
        	//debe llamar a funcion en DAO? q valide el usuario
        	BLUsuario blUsuario = new BLUsuario();
        	
        	
        	/*BETienda tienda = new BETienda();
        	tienda.Id=3;
        	tienda.Nombre="LA LAGUNA";
        	BLInfo.TiendaActual = tienda;
        	*/
        	
        	if (this.usuario.Equals("")||this.pwd.Equals("")){
        		MessageBox.Show("Ingrese todos los campos","Notificacion",MessageBoxButtons.OK);
        	}
        	else {
        		if (esValido = blUsuario.validaUsuario(this.usuario,this.pwd)){
        			this.Close();
        			
        			//BLInfo.usuarioActual = blUsuario.getUsuario(this.usuario,this.pwd);
        			BLInfo.getUsuario(this.usuario,this.pwd);
        			//BLInfo.EmpleadoActual = blUsuario.getEmpleado(this.usuario);
        			
        			try{
        				BLInfo.getEmpleado();
        			}
        			catch{
        				Utils.MessageAviso("El usuario que ha ingresado no es empleado de la veterinaria");
        			}
        			
        			if (blUsuario.esCliente(this.usuario,this.pwd)==false)
        				continuar = 1;
        			else
        				continuar = 2;
        			
        			//Utils.MessageAviso(BLInfo.EmpleadoActual.IdEmpleado.ToString());
        			
        			BLInfo.getTienda();
        			
        			//Utils.MessageAviso("Tienda: "+ BLInfo.TiendaActual.Nombre);
        			
        			
        			
     //   			Utils.MessageInformation("HOLA");
        		}
        		else {
        			MessageBox.Show("Usuario o password incorrectos. Intente de nuevo","Aviso");
        			this.passwordTB.Text = "";
        		}
        	}
        	
        }

        private void buttonAsistencia_Click(object sender, EventArgs e)
        {
            this.continuar = 2;
            if ((usuarioTB.Text != "") && (passwordTB.Text == ""))
            {
            	MessageBox.Show("No ha ingresado password.","Aviso");
            }
            else if ((usuarioTB.Text == "") && (passwordTB.Text == ""))
            {
            	MessageBox.Show("No ha ingresado datos.","Aviso");
            }
            else if ((usuarioTB.Text == "") && (passwordTB.Text != ""))
            {
            	MessageBox.Show("No ha ingresado usuario.","Aviso");
            }
            else 
            {
            	BLUsuario blUsuario = new BLUsuario();
            	Boolean esValido = false;
				if (esValido = blUsuario.validaUsuario(this.usuarioTB.Text,this.passwordTB.Text)){
            		DateTime ahora = DateTime.Now;
            		int res = blUsuario.registraAsistencia(this.usuarioTB.Text,ahora);
            		if (res == 1)
            			MessageBox.Show(String.Concat("Bienvenido.  ","Hora de Entrada: ",ahora.ToLongTimeString()),"Registro exitoso de asistencia");
            		else if (res == 2)
            			MessageBox.Show(String.Concat("Hasta luego.   ","Hora de Salida: ",ahora.ToLongTimeString()),"Registro exitoso de asistencia");
            		else if (res == 0)
            			MessageBox.Show("Error al registrar asistencia.","Error");
            			
        		}
            	else 
        			MessageBox.Show("Usuario o password incorrectos. Intente de nuevo","Notificacion",MessageBoxButtons.OK);
				            	
            }
            
        }
        
        public void eventoContinuar(object sender, EventArgs e)
        {
            this.continuar = 0;
        }
        
        public int getContinuar(){
        	return continuar;
        }
        
        void OlvidasteLBLClick(object sender, EventArgs e)
        {
        	OlvidasteLaClave v = new OlvidasteLaClave();
        	v.ShowDialog(this);
        }
                
        void BtnSalirClick(object sender, EventArgs e)
        {
        	this.Close();
        	this.salir = 1;
        }
    }
}
